package cn.lili.modules.grab.factory.order;

import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.grab.GrabOrderParam;
import cn.lili.modules.grab.dingdong.res.order.CreateOrderRequest;
import cn.lili.modules.grab.enums.SourceEnums;
import cn.lili.modules.grab.enums.StatusEnums;

public interface GrabOrderService {

    /**
     * 渲染步骤
     *
     * @return 渲染枚举
     */
    SourceEnums step();

    /**
     * 运费计算
     *
     * @param grabParam 请求内容
     */
    default ResultMessage<Object> freightCalc(GrabOrderParam grabParam) {
        throw new ServiceException(StatusEnums.STATUS_400.getDes());
    }

    /**
     * 创建订单
     *
     * @param grabParam 请求内容
     */
    default ResultMessage<Object> createOrder(GrabOrderParam grabParam) {
        throw new ServiceException(StatusEnums.STATUS_400.getDes());
    }

    /**
     * 订单详情
     *
     * @param grabParam 请求内容
     */
    default ResultMessage<Object> getOrderInfo(GrabOrderParam grabParam) {
        throw new ServiceException(StatusEnums.STATUS_400.getDes());
    }
}
